#include <stdio.h>

/* for unsigned int 
#define BIGGER(a, b)    (((a^b)>>31)?(a>>31?a:b):((a-b)>>31?b:a))
#define BIGGER(a, b)    (b?(a/b?a:b):a)
*/

/* for signed int */
#define BIGGER(a, b)    (((a^b)>>31)?(a>>31?b:a):((a-b)>>31?b:a))

int main(int argc, char const* argv[])
{
    printf("BIGGER is 0x%08x\n", BIGGER(0x10000000, 0x01111111));
    printf("BIGGER is 0x%08x\n", BIGGER(0x80000000, 0x7fffffff));
    printf("BIGGER is 0x%08x\n", BIGGER(0xef000000, 0xfeffffff));
    printf("BIGGER is 0x%08x\n", BIGGER(0xef000000, 0x00000000));

    return 0;
}
